﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MVC4WPF.Automation.Data
{
    /// <summary>
    /// Complete breakdown of all the parts of the interface contract.
    /// </summary>
    [Serializable()]
    public class ContractInformation
    {
        /// <summary>
        /// The name of the contract interface
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// The namespace of the contract interface
        /// </summary>
        public string Namespace { get; set; }

        /// <summary>
        /// The interface with both the namespace and the name of the interface.
        /// </summary>
        public string FullName { get; set; }

        /// <summary>
        /// List of the property data from the contract.
        /// </summary>
        public List<ContractProperty> Properties { get; set; }

        /// <summary>
        /// List of the events from the contract.
        /// </summary>
        public List<ContractEvent> Events { get; set; }

        /// <summary>
        /// List of the methods from the contract.
        /// </summary>
        public List<ContractMethod> Methods { get; set; }

        /// <summary>
        /// This contract is a base MVC4WPF contract.
        /// </summary>
        public bool IsBaseContract { get; set; }
        
    }
}
